iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
Modern Web

和少女工程師一起學 JavaScript 系列 第 16

和少女工程師一起學 JavaScript:Day16 箭頭函式

  • 分享至 

  • xImage
  •  

箭頭函式

  • 語法更精簡
  • 是函式表達式 FE 的簡短寫法
const func = function(x) { return x + 1 };
// 相當於下方寫法
const func = (x) => { return x + 1 };

只有傳入一個參數時可以不加()

程式碼內容為表達式時(會回傳一個值)可以不寫 return {}

const func = x => x + 1  //只有單行表達式,可直接回傳,不需加上{}

沒有帶參數時,不能省略()

const func = () =>  1 + 1

不能使用 arguments 參數

const func = () => { console.log(arguments) }; //arguments is not defined
func(1,2,3);

可以改使用其餘參數

const func = (...arg) => { console.log(arg) }; //[1,2,3]
func(1,2,3);

沒有自己的 this 所以也沒辦法透過 call, apply, bind 重新賦予 this

const family = {
	name: 'yinmin'
}

const func = (param1, param2) => {
	console.log(this, param1, param2) //Window物件 "媽媽" "爸爸"
}

func.call(family, '媽媽', '爸爸');

無法使用 prototype,無法作為建構函式使用

const func = (x) => { this.name = x };
const a = new func('a');
console.log(a); //func is not a constructor

console.log(func.prototype) //undefined

上一篇
和少女工程師一起學 JavaScript:Day15 樣板字面值
下一篇
和少女工程師一起學 JavaScript:Day17 真值與假值
系列文
和少女工程師一起學 JavaScript 27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言